package com.yzx.service.impl;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yzx.vo.DataGridView;
import dto.SysLoginInfoDto;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yzx.domain.SysLoginInfo;
import com.yzx.mapper.SysLoginInfoMapper;
import com.yzx.service.SysLoginInfoService;
@Service
public class SysLoginInfoServiceImpl implements SysLoginInfoService{
    @Autowired
    private SysLoginInfoMapper sysLoginInfoMapper;
    @Override
    public int insertLoginInfo(SysLoginInfo loginInfo) {
        return sysLoginInfoMapper.insert(loginInfo);
    }

    @Override
    public DataGridView listForPage(SysLoginInfoDto loginInfo) {
        Page<SysLoginInfo> page=new Page<>(loginInfo.getPageNum(),loginInfo.getPageSize());
        QueryWrapper<SysLoginInfo> qw=new QueryWrapper<>();
        qw.like(StringUtils.isNotBlank(loginInfo.getUserName()),SysLoginInfo.COL_USER_NAME,loginInfo.getUserName());
        qw.like(StringUtils.isNotBlank(loginInfo.getIpAddr()),SysLoginInfo.COL_IP_ADDR,loginInfo.getIpAddr());
        qw.like(StringUtils.isNotBlank(loginInfo.getLoginAccount()),SysLoginInfo.COL_LOGIN_ACCOUNT,loginInfo.getLoginAccount());
        qw.eq(StringUtils.isNotBlank(loginInfo.getLoginStatus()),SysLoginInfo.COL_LOGIN_STATUS,loginInfo.getLoginStatus());
        qw.eq(StringUtils.isNotBlank(loginInfo.getLoginType()),SysLoginInfo.COL_LOGIN_TYPE,loginInfo.getLoginType());
        qw.ge(null!= loginInfo.getBeginTime(), SysLoginInfo.COL_LOGIN_TIME, loginInfo.getBeginTime());
        qw.le(null!= loginInfo.getEndTime(), SysLoginInfo.COL_LOGIN_TIME, loginInfo.getEndTime());
        qw.orderByDesc(SysLoginInfo.COL_LOGIN_TIME);
        this.sysLoginInfoMapper.selectPage(page,qw);
        return new DataGridView(page.getTotal(),page.getRecords());
    }

    @Override
    public int clearLoginInfo() {
        return this.sysLoginInfoMapper.delete(null);
    }
}
